package com.cy.study.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cy.study.common.BasePageReq;
import com.cy.study.entity.ExperienceEntity;
import com.cy.study.req.*;
import com.cy.study.res.*;

public interface ExperienceService extends IService<ExperienceEntity> {

    /**
     * 用户中心获取心得列表
     * @param req
     * @return
     */
    Page<UserCenterExperiencePageRes> userCenterExperiencePage(BasePageReq req);

    /**
     * 用户中心新增论坛心得
     * @param req
     * @return
     */
    Integer userCenterAddExperience(UserCenterAddExperienceReq req);

    /**
     * 用户中心更新论坛心得
     * @param req
     * @return
     */
    void userCenterUpdateExperience(UserCenterUpdateExperienceReq req);

    /**
     * 用户中心删除心得
     * @param req
     */
    void userCenterDeleteExperience(UserCenterDeleteExperienceReq req);

    /**
     * 管理端心得列表
     * @param req
     * @return
     */
    Page<ExperiencePageRes> pageExperience(ExperiencePageReq req);

    /**
     * 管理端删除心得
     * @param req
     */
    void deleteExperience(ExperienceDeleteReq req);

    /**
     * 管理端心得详情
     * @param experienceId
     * @return
     */
    ExperienceDetailRes detailExperience(Integer experienceId);

    /**
     * 用户端心得列表
     * @param req
     * @return
     */
    Page<UserExperiencePageRes> userExperiencePageRes(UserExperienceReq req);

    /**
     * 用户端心得详情
     * @param exId
     * @return
     */
    UserExperienceDetailRes userExperienceDetail(Integer exId);


}
